package net.zjitc.summary.user;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;

/**
 * @Author admin
 * @Date 2019/4/16 14:11
 *     工具类的具体实现类：用文件方式
 *     字节流：一般用操作图片或视频
 *     基本字节输入输出流 FileInputStream/FileOutputStream
 *     字节缓冲流 BufferedInputStream/BufferedOutputStream
 *     效率最高的是：用字节缓冲流一次读写一个字节数组
 *                  字符流，一般用来操作文本
 *    基本字符流：FileReader/FileWriter
 *    效率最高的是用字符缓冲流一次读写一行文本
 *    若出现乱码（编码问题），则需要用到转换流：InputStreamReader/OutputStreamWrite
 */
public class UserDaoIO implements UserDao {

    @Override
    public void register(User user) {
        /*把user对象写入文件：
        * 用户名和密码、email之间的分隔符
        * 一个用户放一行
        * 不考虑用户名是否重复
        * 使用字符缓冲流一次读写一行文本，默认使用utf-8编码，所以不用转换流  */
        Writer out=null;
        BufferedWriter bw=null;
        try {
            out=new FileWriter("utf-8");
            bw =new BufferedWriter(out);
            String s=user.getName()+"-"+user.getPassword()+'-'+user.getEmail();
            bw.write(s);
            bw.newLine();
            bw.flush();
            System.out.println("注册成功！");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
               if (bw!=null){
                bw.close();}
                if (out!=null){
                    out.close();}
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }

    @Override
    public User login(String name, String password) {
        return null;
    }
}
